layui.use(['table', 'form', 'layer'], function () {
    var table = layui.table;
    var form = layui.form;
    var layer = layui.layer, $ = layui.$;

    //执行一个 table 实例
    table.render({
        elem: '#demo'
        , url: '/check/petrolStationListAndDeptName' //数据接口
        , id: 'tableReload'
        , title: '加油站注册审批'
        , page: true //开启分页
        , skin: 'row'
        , even: true
        , size: 'lg'
        , limit: 5
        , limits: [5, 10, 20, 30, 50, 100]
        , cellMinWidth: 100
        , cols: [
            [ //表头
                {type: 'space', fixed: 'left'}
                , {field: 'petrolStationId', title: '编号', sort: true, fixed: 'left'}
                , {field: 'petrolStationName', title: '加油站名称', align: 'center', minWidth: 200}
                , {
                field: 'nature', title: '加油站性质', align: 'center', templet: function (d) {
                    if (d.nature == 0) {
                        return '中石化';
                    } else if (d.nature == 1) {
                        return '中石油';
                    } else {
                        return '社会民营';
                    }
                }
            }
                , {field: 'staffAmount', title: '职工人数', align: 'center'}
                , {field: 'geographicPosition', title: '地理位置', align: 'center'}
                , {field: 'site', title: '加油站地址', align: 'center'}
                , {field: 'tankerAmount', title: '加油机数量', align: 'center'}
                , {field: 'legalPersonName', title: '法人姓名', align: 'center'}
                , {field: 'legalPersonCard', title: '法人身份证号', align: 'center', minWidth: 200}
                , {field: 'legalPersonPhone', title: '法人手机号', align: 'center', minWidth: 150}
                , {field: 'defendPrincipal', title: '保卫组织负责人', align: 'center', minWidth: 150}
                , {field: 'defendPhone', title: '负责人手机号', align: 'center', minWidth: 150}
                , {
                field: 'pertolStationTypeId', title: '加油站类型', align: 'center', templet: function (d) {
                    if (d.nature == 1) {
                        return '小型加油站';
                    } else if (d.nature == 2) {
                        return '中型加油站';
                    } else {
                        return '大型加油站';
                    }
                }
            }
                , {
                field: 'deptName', title: '所属派出所', align: 'center', minWidth: 200, templet: function (d) {
                    return d.dept.deptName
                }
            }
                , {
                field: 'status', title: '审核状态', align: 'center', templet: function (d) {
                    if (d.status == 0) {
                        return "<button class='layui-btn layui-btn-xs layui-btn-radius layui-btn-normal'>已审核</button>"
                    } else {
                        return "<button class='layui-btn layui-btn-xs layui-btn-radius layui-btn-danger'>未审核</button>"
                    }
                }
            }
                , {fixed: 'right', title: "操作", align: 'center', toolbar: '#barDemo',minWidth: 200}
            ]]
    });

    //多条件提交按钮监听
    form.on('submit(data-search-btn)', function (data) {
        //获取表单元素值
        var formData = data.field;
        var status = formData.status;
        var searchLegalPersonName = formData.searchLegalPersonName;
        var searchPhoneNumber = formData.searchPhoneNumber;

        //重载表格数据
        table.reload('tableReload', {
            where: { //设定异步数据接口的额外参数，任意设
                "status": status,
                "searchLegalPersonName": searchLegalPersonName,
                "searchPhoneNumber": searchPhoneNumber
            }
            , page: {
                curr: 1 //重新从第 1 页开始
            }
        });
        return false;//不提交，只传值
    });
    //重置,多条件搜索form表单
    form.on('(search_reset)', function () {
        //重置form表单
        $("#searchForm")[0].reset();

        //刷新页面
        table.reload("tableReload");
    });

    //监听行工具事件
    table.on('tool(tbl)', function (obj) { //注：tool 是工具条事件名，test 是 table 原始容器的属性 lay-filter="对应的值"
        var data = obj.data //获得当前行数据
            , layEvent = obj.event; //获得 lay-event 对应的值
        if (layEvent === 'edit') {
            if (data.status == 0) {
                layer.msg('当前加油站已通过审核，无需重复审核');
                return
            }

            layer.confirm('确定通过审核？', {icon: 3, title: '提示'}, function (index) {
                $.ajax({
                    url: "/check/updatePetrolStationStatus",
                    type: "post",
                    data: data,
                    dataType: "json",
                    success: function (result) {
                        if (result.code == 0) {
                            layer.msg("审核通过");
                            //刷新页面
                            table.reload("tableReload");
                        }
                    }
                });
            });
        } else if (layEvent === 'noPass') {
            //弹出一个页面层
            layer.open({
                type: 1,
                area: ['600px', '360px'],
                closeBtn: 2,
                title: ["不通过理由", "color:red"],
                anim: 4,
                content: $("#reason")
            });

            $.ajax({
                url: "/check/updatePetrolStationStatus",
                type: "post",
                data: data,
                dataType: "json"
            });
        }
    });
    //发布不通过理由
    form.on('submit(saveBtn)', function(data){
        $.ajax({
            url: '/notification/saveNotification',
            dataType: 'json',
            type: 'POST',
            data: data.field,
            success: function () {
                layer.closeAll();//关闭对话框
                layer.msg("提交成功");
                table.reload("tableReload");//重新加载表格数据
                //重置form表单
                $("#reason")[0].reset();
            }
        });
        return false; //阻止表单跳转。如果需要表单跳转，去掉这段即可。
    });
});


